home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / misc / tasm / misc.zoo / testz80.asm < prev   
Assembly Source File  |  1991-07-13  |  12KB  |  800 lines

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ; TASM  test file
  3. ; Test all instructions and addressing modes.
  4. ; Processor: Z80
  5. ;
  6. ; SEPT. 16,1987
  7. ; CARL A. WALL
  8. ;  VE3APY
  9. ;
  10. ;
  11.  
  12. d    .equ 05h
  13. n    .equ 20h
  14. nn   .equ 0584h
  15. e    .equ 30h
  16. dddd .equ 07h
  17.  
  18. ;    try a few cases that have two expressions in the args and
  19. ;    one is inside ().
  20.      LD   (IX+d),n+1+4+8-9
  21.      LD   (IX+d+5),n-1
  22.      LD   (IX+dddd),n
  23.      LD   (IX+(d)),n
  24.      LD   (IX+d),n
  25.  
  26. ;    Try all possible instructions
  27.  
  28.      ADC  A,(HL)
  29.      ADC  A,(IX+d)
  30.      ADC  A,(IY+d)
  31.      ADC  A,A
  32.      ADC  A,B
  33.      ADC  A,C
  34.      ADC  A,D
  35.      ADC  A,E
  36.      ADC  A,H
  37.      ADC  A,L
  38.      ADC  A,n
  39.      ADC  HL,BC
  40.      ADC  HL,DE
  41.      ADC  HL,HL
  42.      ADC  HL,SP
  43.  
  44.      ADD  A,(HL)
  45.      ADD  A,(IX+d)
  46.      ADD  A,(IY+d)
  47.      ADD  A,A
  48.      ADD  A,B
  49.      ADD  A,C
  50.      ADD  A,D
  51.      ADD  A,E
  52.      ADD  A,H
  53.      ADD  A,L
  54.      ADD  A,n
  55.      ADD  HL,BC
  56.      ADD  HL,DE
  57.      ADD  HL,HL
  58.      ADD  HL,SP
  59.      ADD  IX,BC
  60.      ADD  IX,DE
  61.      ADD  IX,IX
  62.      ADD  IX,SP
  63.      ADD  IY,BC
  64.      ADD  IY,DE
  65.      ADD  IY,IY
  66.      ADD  IY,SP
  67.  
  68.      AND  (HL)
  69.      AND  (IX+d)
  70.      AND  (IY+d)
  71.      AND  A
  72.      AND  B
  73.      AND  C
  74.      AND  D
  75.      AND  E
  76.      AND  H
  77.      AND  L
  78.      AND  n
  79.  
  80.      BIT  0,(HL)
  81.      BIT  0,(IX+d)
  82.      BIT  0,(IY+d)
  83.      BIT  0,A
  84.      BIT  0,B
  85.      BIT  0,C
  86.      BIT  0,D
  87.      BIT  0,E
  88.      BIT  0,H
  89.      BIT  0,L
  90.  
  91.      BIT  1,(HL)
  92.      BIT  1,(IX+d)
  93.      BIT  1,(IY+d)
  94.      BIT  1,A
  95.      BIT  1,B
  96.      BIT  1,C
  97.      BIT  1,D
  98.      BIT  1,E
  99.      BIT  1,H
  100.      BIT  1,L
  101.  
  102.      BIT  2,(HL)
  103.      BIT  2,(IX+d)
  104.      BIT  2,(IY+d)
  105.      BIT  2,A
  106.      BIT  2,B
  107.      BIT  2,C
  108.      BIT  2,D
  109.      BIT  2,E
  110.      BIT  2,H
  111.      BIT  2,L
  112.  
  113.      BIT  3,(HL)
  114.      BIT  3,(IX+d)
  115.      BIT  3,(IY+d)
  116.      BIT  3,A
  117.      BIT  3,B
  118.      BIT  3,C
  119.      BIT  3,D
  120.      BIT  3,E
  121.      BIT  3,H
  122.      BIT  3,L
  123.  
  124.      BIT  4,(HL)
  125.      BIT  4,(IX+d)
  126.      BIT  4,(IY+d)
  127.      BIT  4,A
  128.      BIT  4,B
  129.      BIT  4,C
  130.      BIT  4,D
  131.      BIT  4,E
  132.      BIT  4,H
  133.      BIT  4,L
  134.  
  135.      BIT  5,(HL)
  136.      BIT  5,(IX+d)
  137.      BIT  5,(IY+d)
  138.      BIT  5,A
  139.      BIT  5,B
  140.      BIT  5,C
  141.      BIT  5,D
  142.      BIT  5,E
  143.      BIT  5,H
  144.      BIT  5,L
  145.  
  146.      BIT  6,(HL)
  147.      BIT  6,(IX+d)
  148.      BIT  6,(IY+d)
  149.      BIT  6,A
  150.      BIT  6,B
  151.      BIT  6,C
  152.      BIT  6,D
  153.      BIT  6,E
  154.      BIT  6,H
  155.      BIT  6,L
  156.  
  157.      BIT  7,(HL)
  158.      BIT  7,(IX+d)
  159.      BIT  7,(IY+d)
  160.      BIT  7,A
  161.      BIT  7,B
  162.      BIT  7,C
  163.      BIT  7,D
  164.      BIT  7,E
  165.      BIT  7,H
  166.      BIT  7,L
  167.  
  168.      CALL C,nn
  169.      CALL M,nn
  170.      CALL NC,nn
  171.      CALL NZ,nn
  172.      CALL P,nn
  173.      CALL PE,nn
  174.      CALL PO,nn
  175.      CALL Z,nn
  176.      CALL nn
  177.  
  178.      CCF
  179.  
  180.      CP   (HL)
  181.      CP   (IX+d)
  182.      CP   (IY+d)
  183.      CP   A
  184.      CP   B
  185.      CP   C
  186.      CP   D
  187.      CP   E
  188.      CP   H
  189.      CP   L
  190.      CP   n
  191.      CPD  
  192.      CPDR  
  193.      CPIR   
  194.      CPI   
  195.      CPL   
  196.  
  197.      DAA   
  198.  
  199.      DEC  (HL)
  200.      DEC  (IX+d)
  201.      DEC  (IY+d)
  202.      DEC  A
  203.      DEC  B
  204.      DEC  BC
  205.      DEC  C
  206.      DEC  D
  207.      DEC  DE
  208.      DEC  E
  209.      DEC  H
  210.      DEC  HL
  211.      DEC  IX
  212.      DEC  IY
  213.      DEC  L
  214.      DEC  SP
  215.      DI
  216.      .NOLIST
  217.      .ORG 00H
  218.      .LIST
  219.      DJNZ e
  220.      EI
  221.      EX   (SP),HL
  222.      EX   (SP),IX
  223.      EX   (SP),IY
  224.      EX   AF,AF'
  225.      EX   DE,HL
  226.      EXX    
  227.      HALT     
  228.      
  229.      IM   0
  230.      IM   1
  231.      IM   2
  232.  
  233.      IN   A,(C)
  234.      IN   B,(C)
  235.      IN   C,(C)
  236.      IN   D,(C)
  237.      IN   E,(C)
  238.      IN   H,(C)
  239.      IN   L,(C)
  240.  
  241.      INC  (HL)
  242.      INC  (IX+d)
  243.      INC  (IY+d)
  244.      INC  A
  245.      INC  B
  246.      INC  BC
  247.      INC  C
  248.      INC  D
  249.      INC  DE
  250.      INC  E
  251.      INC  H
  252.      INC  HL
  253.      INC  IX
  254.      INC  IY
  255.      INC  L
  256.      INC  SP
  257.  
  258.      IN   A,n
  259.      
  260.      IND     
  261.      INDR     
  262.      INI
  263.      INIR    
  264.      
  265.      JP   nn
  266.      JP   (HL)
  267.      JP   (IX)
  268.      JP   (IY)
  269.      JP   C,nn
  270.      JP   M,nn
  271.      JP   NC,nn
  272.      JP   NZ,nn
  273.      JP   P,nn
  274.      JP   PE,nn
  275.      JP   PO,nn
  276.      JP   Z,nn
  277.  
  278.      .NOLIST
  279.      .ORG 00H
  280.      .LIST
  281.      JR   C,e
  282.      .NOLIST
  283.      .ORG 00H
  284.      .LIST
  285.      JR   NC,e
  286.      .NOLIST
  287.      .ORG 00H
  288.      .LIST
  289.      JR   NZ,e
  290.      .NOLIST
  291.      .ORG 00H
  292.      .LIST
  293.      JR   Z,e
  294.      .NOLIST
  295.      .ORG 00H
  296.      .LIST
  297.      JR   e
  298.  
  299.      LD   (BC),A
  300.      LD   (DE),A
  301.      LD   (HL),A
  302.      LD   (HL),B
  303.      LD   (HL),C
  304.      LD   (HL),D
  305.      LD   (HL),E
  306.      LD   (HL),H
  307.      LD   (HL),L
  308.      LD   (HL),n
  309.      LD   (IX+d),A
  310.      LD   (IX+d),B
  311.      LD   (IX+d),C
  312.      LD   (IX+d),D
  313.      LD   (IX+d),E
  314.      LD   (IX+d),H
  315.      LD   (IX+d),L
  316.      LD   (IX+d),n
  317.      LD   (IY+d),A
  318.      LD   (IY+d),B
  319.      LD   (IY+d),C
  320.      LD   (IY+d),D
  321.      LD   (IY+d),E
  322.      LD   (IY+d),H
  323.      LD   (IY+d),L
  324.      LD   (IY+d),n
  325.      LD   (nn),A
  326.      LD   (nn),BC
  327.      LD   (nn),DE
  328.      LD   (nn),HL
  329.      LD   (nn),IX
  330.      LD   (nn),IY
  331.      LD   (nn),SP
  332.      LD   A,(BC)
  333.      LD   A,(DE)
  334.      LD   A,(HL)
  335.      LD   A,(IX+d)
  336.      LD   A,(IY+d)
  337.      LD   A,(nn)
  338.      LD   A,A
  339.      LD   A,B
  340.      LD   A,C
  341.      LD   A,D
  342.      LD   A,E
  343.      LD   A,H
  344.      LD   A,I
  345.      LD   A,L
  346.      LD   A,n
  347.      LD   A,R
  348.      LD   B,(HL)
  349.      LD   B,(IX+d)
  350.      LD   B,(IY+d)
  351.      LD   B,A
  352.      LD   B,B
  353.      LD   B,C
  354.      LD   B,D
  355.      LD   B,E
  356.      LD   B,H
  357.      LD   B,L
  358.      LD   B,n
  359.      LD   BC,(nn)
  360.      LD   BC,nn
  361.      LD   C,(HL)
  362.      LD   C,(IX+d)
  363.      LD   C,(IY+d)
  364.      LD   C,A
  365.      LD   C,B
  366.      LD   C,C
  367.      LD   C,D
  368.      LD   C,E
  369.      LD   C,H
  370.      LD   C,L
  371.      LD   C,n
  372.      LD   D,(HL)
  373.      LD   D,(IX+d)
  374.      LD   D,(IY+d)
  375.      LD   D,A
  376.      LD   D,B
  377.      LD   D,C
  378.      LD   D,D
  379.      LD   D,E
  380.      LD   D,H
  381.      LD   D,L
  382.      LD   D,n
  383.      LD   DE,(nn)
  384.      LD   DE,nn
  385.      LD   E,(HL)
  386.      LD   E,(IX+d)
  387.      LD   E,(IY+d)
  388.      LD   E,A
  389.      LD   E,B
  390.      LD   E,C
  391.      LD   E,D
  392.      LD   E,E
  393.      LD   E,H
  394.      LD   E,L
  395.      LD   E,n
  396.      LD   H,(HL)
  397.      LD   H,(IX+d)
  398.      LD   H,(IY+d)
  399.      LD   H,A
  400.      LD   H,B
  401.      LD   H,C
  402.      LD   H,D
  403.      LD   H,E
  404.      LD   H,H
  405.      LD   H,L
  406.      LD   H,n
  407.      LD   HL,(nn)
  408.      LD   HL,nn
  409.      LD   I,A
  410.      LD   IX,(nn)
  411.      LD   IX,nn
  412.      LD   IY,(nn)
  413.      LD   IY,nn
  414.      LD   L,(HL)
  415.      LD   L,(IX+d)
  416.      LD   L,(IY+d)
  417.      LD   L,A
  418.      LD   L,B
  419.      LD   L,C
  420.      LD   L,D
  421.      LD   L,E
  422.      LD   L,H
  423.      LD   L,L
  424.      LD   L,n
  425.      LD   R,A
  426.      LD   SP,(nn)
  427.      LD   SP,HL
  428.      LD   SP,IX
  429.      LD   SP,IY
  430.      LD   SP,nn
  431.  
  432.      LDD
  433.      LDDR
  434.      LDI
  435.      LDIR
  436.      NEG
  437.      NOP
  438.  
  439.      OR   (HL)
  440.      OR   (IX+d)
  441.      OR   (IY+d)
  442.      OR   A
  443.      OR   B
  444.      OR   C
  445.      OR   D
  446.      OR   E
  447.      OR   H
  448.      OR   L
  449.      OR   n
  450.  
  451.      OTDR
  452.      OTIR
  453.  
  454.      OUT  (C),A
  455.      OUT  (C),B
  456.      OUT  (C),C
  457.      OUT  (C),D
  458.      OUT  (C),E
  459.      OUT  (C),H
  460.      OUT  (C),L
  461.      OUT  (n),A
  462.      OUTD
  463.      OUTI
  464.  
  465.      POP  AF
  466.      POP  BC
  467.      POP  DE
  468.      POP  HL
  469.      POP  IX
  470.      POP  IY
  471.  
  472.      PUSH AF
  473.      PUSH BC
  474.      PUSH DE
  475.      PUSH HL
  476.      PUSH IX
  477.      PUSH IY
  478.  
  479.      RES  0,(HL)
  480.      RES  0,(IX+d)
  481.      RES  0,(IY+d)
  482.      RES  0,A
  483.      RES  0,B
  484.      RES  0,C
  485.      RES  0,D
  486.      RES  0,E
  487.      RES  0,H
  488.      RES  0,L
  489.  
  490.      RES  1,(HL)
  491.      RES  1,(IX+d)
  492.      RES  1,(IY+d)
  493.      RES  1,A
  494.      RES  1,B
  495.      RES  1,C
  496.      RES  1,D
  497.      RES  1,E
  498.      RES  1,H
  499.      RES  1,L
  500.  
  501.      RES  2,(HL)
  502.      RES  2,(IX+d)
  503.      RES  2,(IY+d)
  504.      RES  2,A
  505.      RES  2,B
  506.      RES  2,C
  507.      RES  2,D
  508.      RES  2,E
  509.      RES  2,H
  510.      RES  2,L
  511.  
  512.      RES  3,(HL)
  513.      RES  3,(IX+d)
  514.      RES  3,(IY+d)
  515.      RES  3,A
  516.      RES  3,B
  517.      RES  3,C
  518.      RES  3,D
  519.      RES  3,E
  520.      RES  3,H
  521.      RES  3,L
  522.  
  523.      RES  4,(HL)
  524.      RES  4,(IX+d)
  525.      RES  4,(IY+d)
  526.      RES  4,A
  527.      RES  4,B
  528.      RES  4,C
  529.      RES  4,D
  530.      RES  4,E
  531.      RES  4,H
  532.      RES  4,L
  533.  
  534.      RES  5,(HL)
  535.      RES  5,(IX+d)
  536.      RES  5,(IY+d)
  537.      RES  5,A
  538.      RES  5,B
  539.      RES  5,C
  540.      RES  5,D
  541.      RES  5,E
  542.      RES  5,H
  543.      RES  5,L
  544.  
  545.      RES  6,(HL)
  546.      RES  6,(IX+d)
  547.      RES  6,(IY+d)
  548.      RES  6,A
  549.      RES  6,B
  550.      RES  6,C
  551.      RES  6,D
  552.      RES  6,E
  553.      RES  6,H
  554.      RES  6,L
  555.  
  556.      RES  7,(HL)
  557.      RES  7,(IX+d)
  558.      RES  7,(IY+d)
  559.      RES  7,A
  560.      RES  7,B
  561.      RES  7,C
  562.      RES  7,D
  563.      RES  7,E
  564.      RES  7,H
  565.      RES  7,L
  566.  
  567.      RET
  568.      RET  C
  569.      RET  M
  570.      RET  NC
  571.      RET  NZ
  572.      RET  P
  573.      RET  PE
  574.      RET  PO
  575.      RET  Z
  576.      RETI
  577.      RETN
  578.  
  579.      RL   (HL)
  580.      RL   (IX+d)
  581.      RL   (IY+d)
  582.      RL   A
  583.      RL   B
  584.      RL   C
  585.      RL   D
  586.      RL   E
  587.      RL   H
  588.      RL   L
  589.      RLA
  590.  
  591.      RLC  (HL)
  592.      RLC  (IX+d)
  593.      RLC  (IY+d)
  594.      RLC  A
  595.      RLC  B
  596.      RLC  C
  597.      RLC  D
  598.      RLC  E
  599.      RLC  H
  600.      RLC  L
  601.      RLCA
  602.      RLD
  603.  
  604.      RR   (HL)
  605.      RR   (IX+d)
  606.      RR   (IY+d)
  607.      RR   A
  608.      RR   B
  609.      RR   C
  610.      RR   D
  611.      RR   E
  612.      RR   H
  613.      RR   L
  614.      RRA
  615.  
  616.      RRC  (HL)
  617.      RRC  (IX+d)
  618.      RRC  (IY+d)
  619.      RRC  A
  620.      RRC  B
  621.      RRC  C
  622.      RRC  D
  623.      RRC  E
  624.      RRC  H
  625.      RRC  L
  626.      RRCA
  627.      RRD
  628.  
  629.      RST  00H
  630.      RST  08H
  631.      RST  10H
  632.      RST  18H
  633.      RST  20H
  634.      RST  28H
  635.      RST  30H
  636.      RST  38H
  637.  
  638.      SBC  A,n
  639.      SBC  A,(HL)
  640.      SBC  A,(IX+d)
  641.      SBC  A,(IY+d)
  642.      SBC  A,A
  643.      SBC  A,B
  644.      SBC  A,C
  645.      SBC  A,D
  646.      SBC  A,E
  647.      SBC  A,H
  648.      SBC  A,L
  649.      SBC  HL,BC
  650.      SBC  HL,DE
  651.      SBC  HL,HL
  652.      SBC  HL,SP
  653.      SCF
  654.  
  655.      SET  0,(HL)
  656.      SET  0,(IX+d)
  657.      SET  0,(IY+d)
  658.      SET  0,A
  659.      SET  0,B
  660.      SET  0,C
  661.      SET  0,D
  662.      SET  0,E
  663.      SET  0,H
  664.      SET  0,L
  665.  
  666.      SET  1,(HL)
  667.      SET  1,(IX+d)
  668.      SET  1,(IY+d)
  669.      SET  1,A
  670.      SET  1,B
  671.      SET  1,C
  672.      SET  1,D
  673.      SET  1,E
  674.      SET  1,H
  675.      SET  1,L
  676.  
  677.      SET  2,(HL)
  678.      SET  2,(IX+d)
  679.      SET  2,(IY+d)
  680.      SET  2,A
  681.      SET  2,B
  682.      SET  2,C
  683.      SET  2,D
  684.      SET  2,E
  685.      SET  2,H
  686.      SET  2,L
  687.  
  688.      SET  3,(HL)
  689.      SET  3,(IX+d)
  690.      SET  3,(IY+d)
  691.      SET  3,A
  692.      SET  3,B
  693.      SET  3,C
  694.      SET  3,D
  695.      SET  3,E
  696.      SET  3,H
  697.      SET  3,L
  698.  
  699.      SET  4,(HL)
  700.      SET  4,(IX+d)
  701.      SET  4,(IY+d)
  702.      SET  4,A
  703.      SET  4,B
  704.      SET  4,C
  705.      SET  4,D
  706.      SET  4,E
  707.      SET  4,H
  708.      SET  4,L
  709.  
  710.      SET  5,(HL)
  711.      SET  5,(IX+d)
  712.      SET  5,(IY+d)
  713.      SET  5,A
  714.      SET  5,B
  715.      SET  5,C
  716.      SET  5,D
  717.      SET  5,E
  718.      SET  5,H
  719.      SET  5,L
  720.  
  721.      SET  6,(HL)
  722.      SET  6,(IX+d)
  723.      SET  6,(IY+d)
  724.      SET  6,A
  725.      SET  6,B
  726.      SET  6,C
  727.      SET  6,D
  728.      SET  6,E
  729.      SET  6,H
  730.      SET  6,L
  731.  
  732.      SET  7,(HL)
  733.      SET  7,(IX+d)
  734.      SET  7,(IY+d)
  735.      SET  7,A
  736.      SET  7,B
  737.      SET  7,C
  738.      SET  7,D
  739.      SET  7,E
  740.      SET  7,H
  741.      SET  7,L
  742.  
  743.      SLA  (HL)
  744.      SLA  (IX+d)
  745.      SLA  (IY+d)
  746.      SLA  A
  747.      SLA  B
  748.      SLA  C
  749.      SLA  D
  750.      SLA  E
  751.      SLA  H
  752.      SLA  L
  753.  
  754.      SRA  (HL)
  755.      SRA  (IX+d)
  756.      SRA  (IY+d)
  757.      SRA  A
  758.      SRA  B
  759.      SRA  C
  760.      SRA  D
  761.      SRA  E
  762.      SRA  H
  763.      SRA  L
  764.  
  765.      SRL  (HL)
  766.      SRL  (IX+d)
  767.      SRL  (IY+d)
  768.      SRL  A
  769.      SRL  B
  770.      SRL  C
  771.      SRL  D
  772.      SRL  E
  773.      SRL  H
  774.      SRL  L
  775.      
  776.      SUB  (HL)
  777.      SUB  (IX+d)
  778.      SUB  (IY+d)
  779.      SUB  A
  780.      SUB  B
  781.      SUB  C
  782.      SUB  D
  783.      SUB  E
  784.      SUB  H
  785.      SUB  L
  786.      SUB  n
  787.  
  788.      XOR  (HL)
  789.      XOR  (IX+d)
  790.      XOR  (IY+d)
  791.      XOR  A
  792.      XOR  B
  793.      XOR  C
  794.      XOR  D
  795.      XOR  E
  796.      XOR  H
  797.      XOR  L
  798.      XOR  n
  799.      .END
  800.